#include "Thread.hpp"
#include<unistd.h>

//把线程模块带进来
using namespace ThreadModlue;

// void Count(int cnt)
// {
//     while(cnt--)
//     {
//         std::cout<<"我是一个新线程！"<<std::endl;
//         sleep(1);
//     }
// }

class ThreadData
{
public:
    pthread_t tid;
    std::string name;
};

void Count1(ThreadData td)
{
    while(true)
    {
        std::cout<<"我是一个新的程序！"<<std::endl;
        sleep(1);
    }
}

//当然也可以传对象
int main()
{
    // int cnt = 10;
    // Thread<int> t(Count,cnt);    
//创建线程,执行的方法是Count，传递的参数是cnt   自己在调用自己定义的方法时,cnt就是传递给Count内部参数   内部做回调时，就会把cnt传递给Count， 
    // t.Start();
    // t.Join();
    
    ThreadData td;
    Thread<ThreadData> t1(Count1,td);
    t1.Start();
    t1.Join();

    return 0;
}
